package com.studio49.exmple.core.controller;

import com.studio49.exmple.common.constant.SysConstant;
import com.studio49.exmple.core.entity.pub.JsonResult;
import org.apache.logging.log4j.Logger;

/**
 * 
 * @author chensj
 * @date 2019年2月16日  上午11:52:03
 * @version 1.0
 */
public abstract class AppBaseController extends BaseController{
	/**
	 * service异常处理
	 *
	 * @param msg
	 *            异常内容
	 * @param log
	 *            日志对象
	 * @param result
	 *            jsonresult
	 * @param e
	 *            异常堆栈
	 */
	public static void setErrMsg(String msg, Logger log, JsonResult result, Throwable e) {
		log.error(msg, e);
		result.setSuccess(false);
		result.setErrorCode(SysConstant.APP_EXCEPTION_CODE);
		result.setMsg(msg);
		e.printStackTrace();
	}

	/**
	 * service验证请求参数异常处理
	 * 
	 * @param log
	 * @param result
	 * @param e
	 * @return
	 */
	public static JsonResult setCheckErrMsg(Logger log, JsonResult result, Throwable e) {
		log.info(e.getMessage());
		result.setSuccess(false);
		if (e.getMessage().indexOf("!@!") != -1) {
			String[] msgCode = e.getMessage().split("!@!");
			result.setErrorCode(Integer.parseInt(msgCode[0]));
			result.setMsg(msgCode[1]);
		} else {
			result.setMsg(e.getMessage());
		}
		return result;
	}

}
